네 대의 컴퓨터가 하나의 Obsidian 보관함을 양방향으로 맞추는 시스템에서, 삭제는 한 번의 파일 명령으로 확정되지 않는다. 각 복제본이 가진 상태가 서버를 거쳐 다시 퍼지기 때문이다. 이번에는 운영 검사가 잡아낸 Python 캐시 폴더를 치운 뒤 약 10초 만에 같은 폴더가 다른 컴퓨터들에 다시 나타났다.
처음 보이는 현상만 놓고 보면 서버가 삭제를 무시한 듯했다. 로그의 순서는 달랐다. 삭제 직후 다른 컴퓨터들이 그 폴더를 다시 내려받았고, 상태 데이터베이스에는 한 컴퓨터가 올린 서버 행이 여전히 live로 남아 있었다. 그 컴퓨터의 파일시스템을 직접 보니 Python 3.13이 만든 .pyc 파일 네 개가 있었다.
남아 있던 실제 바이트가 원인이었다. 그 컴퓨터의 동기화 클라이언트가 다음 스캔에서 폴더를 다시 게시했고, 나머지 세 대는 게시된 상태를 새 변경으로 받아 갔다. 반복 재생성은 빈 폴더 메타데이터가 꼬여서 생긴 현상도, 삭제 자체가 실행되지 않은 결과도 아니었다. 한 복제본이 여전히 파일과 게시 권한을 함께 들고 있었다.
상태를 수렴시키려면 순서가 필요했다. 네 동기화 프로세스를 잠깐 멈추고 각 상태 데이터베이스를 백업했다. 바이트코드 네 개는 보관함 밖의 복구 가능한 위치로 옮겼다. 원인이 된 복제본만 먼저 재개해 원격 폴더 삭제와 동기화 완료를 확인한 다음, 나머지 세 대를 차례로 다시 붙였다.
최종 확인도 파일 목록에서 끝내지 않았다. 네 컴퓨터에서 폴더가 사라졌고, 네 클라이언트의 로컬·서버·대기 행이 모두 0으로 수렴한 뒤 운영 검사가 통과했다. 동기화 시스템에서 삭제 완료는 rm의 종료 코드가 아니라 모든 복제본의 부재로 증명된다. 실제 바이트를 들고 있는 복제본은 유령이 아니다. 아직 쓰기 작업을 끝내지 않은 참가자다.
